package io.adrainty.bolee.insurance.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import io.adrainty.bolee.insurance.models.entity.ConditionEntity;

import java.util.List;

/**
 * <p>IConditionService</p>
 *
 * @author AdRainty
 * @version V1.0.0
 * @description IConditionService
 * @since 2025/8/11 11:20:43
 */
public interface IConditionService {

    /**
     * <p>分页获取保障系数</p>
     *
     * @param pageNum  页码
     * @param pageSize 页大小
     * @param searchDTO 查询参数
     * @return {@link IPage < ConditionEntity >}
     */
    IPage<ConditionEntity> findConditionPage(Integer pageNum, Integer pageSize, ConditionEntity searchDTO);

    /**
     * <p>获取保障系数列表</p>
     *
     * @param entity 筛选参数
     * @return {@link List < ConditionEntity >}
     */
    List<ConditionEntity> findConditionList(ConditionEntity entity);

    /**
     * <p>创建保障系数</p>
     *
     * @param entity 保障系数实体
     * @return {@link ConditionEntity}
     */
    ConditionEntity createCondition(ConditionEntity entity);

    /**
     * <p>修改保障系数</p>
     *
     * @param entity 保障系数实体
     * @return {@link Boolean}
     */
    Boolean updateCondition(ConditionEntity entity);

    /**
     * <p>删除保障系数</p>
     *
     * @param list 批量删除ID列表
     * @return {@link Boolean}
     */
    Boolean deleteCondition(List<String> list);

}
